<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="HandheldFriendly" content="true">
<meta name="MobileOptimized" content="320">
<title>XHR Document</title>
<link rel="stylesheet" type="text/css" href="res/doc.css" charset="utf-8">
<link rel="stylesheet" type="text/css" href="res/prettify.sons.css" charset="utf-8">
<script type="text/javascript" src="res/doc.js" charset="utf-8"></script><script type="text/javascript" src="res/prettify.js" charset="utf-8"></script>
</head>
<body><div id="content" class="content">
<h1><a name="plus.net">net</a></h1>
<p>XMLHttpRequest模块管理网络请求，与标准HTML中的XMLHttpRequest用途一致，差别在于前者可以进行跨域访问。通过plus.net可获取网络请求管理对象。</p>
<h2>对象：</h2>
<ul>
<li>
<a href="#plus.net.XMLHttpRequest">XMLHttpRequest</a>: 跨域网络请求对象</li>
<li>
<a href="#plus.net.ProgressEvent">ProgressEvent</a>: HTTP请求进度事件</li>
</ul>
<h2>回调方法：</h2>
<ul>
<li>
<a href="#plus.net.XhrStateChangeCallback">XhrStateChangeCallback</a>: 网络请求状态变化的回调函数</li>
<li>
<a href="#plus.net.XhrProgressEventCallback">XhrProgressEventCallback</a>: 网络请求进度事件的回调函数</li>
</ul>
<h2>权限：</h2>
<p>5+功能模块（permissions）</p>
<pre class="prettyprint linenums">
{
// ...
"permissions":{
	// ...
	"XMLHttpRequest": {
		"description": "跨域网络连接"
	}
}
}
			</pre>
<h1><a name="plus.net.XMLHttpRequest">XMLHttpRequest</a></h1>
<p>跨域网络请求对象</p>
<h2>构造：</h2>
<ul><li>
<a href="#plus.net.XMLHttpRequest.XMLHttpRequest()">XMLHttpRequest()</a>: 创建一个XMLHttpRequest 对象，对象创建时不触发任何时间和网络请求，需和open，send方法配合使用。</li></ul>
<h2>属性：</h2>
<ul>
<li>
<a href="#plus.net.XMLHttpRequest.readyState">readyState</a>: HTTP 请求的状态</li>
<li>
<a href="#plus.net.XMLHttpRequest.response">response</a>: 请求从服务器接收到的响应数据</li>
<li>
<a href="#plus.net.XMLHttpRequest.responseText">responseText</a>: 请求从服务器接收到的响应数据（字符串数据）</li>
<li>
<a href="#plus.net.XMLHttpRequest.responseType">responseType</a>: 请求响应数据response的类型</li>
<li>
<a href="#plus.net.XMLHttpRequest.responseXML">responseXML</a>: 请求响应的Document对象</li>
<li>
<a href="#plus.net.XMLHttpRequest.status">status</a>: 服务器返回的HTTP状态代码</li>
<li>
<a href="#plus.net.XMLHttpRequest.statusText">statusText</a>: 服务器返回的HTTP状态描述</li>
<li>
<a href="#plus.net.XMLHttpRequest.timeout">timeout</a>: 请求服务器的超时时间，单位为毫秒（ms）</li>
<li>
<a href="#plus.net.XMLHttpRequest.withCredentials">withCredentials</a>: 是否支持跨域请求</li>
</ul>
<h2>方法：</h2>
<ul>
<li>
<a href="#plus.net.XMLHttpRequest.abort">abort</a>: 取消当前响应，关闭连接并且结束任何未决的网络活动</li>
<li>
<a href="#plus.net.XMLHttpRequest.getAllResponseHeaders">getAllResponseHeaders</a>: 获取HTTP响应头部信息</li>
<li>
<a href="#plus.net.XMLHttpRequest.getResponseHeader">getResponseHeader</a>: 获取指定的HTTP响应头部的值</li>
<li>
<a href="#plus.net.XMLHttpRequest.open">open</a>: 初始化HTTP请求参数，例如URL和HTTP方法，但是并不发送请求</li>
<li>
<a href="#plus.net.XMLHttpRequest.overrideMimeType">overrideMimeType</a>: 重写服务器返回的MIME类型</li>
<li>
<a href="#plus.net.XMLHttpRequest.send">send</a>: 发送HTTP请求</li>
<li>
<a href="#plus.net.XMLHttpRequest.setRequestHeader">setRequestHeader</a>: 指定一个HTTP请求的Header</li>
</ul>
<h2>事件：</h2>
<ul>
<li>
<a href="#plus.net.XMLHttpRequest.onreadystatechange">onreadystatechange</a>: 网络请求状态发生变化事件</li>
<li>
<a href="#plus.net.XMLHttpRequest.onloadstart">onloadstart</a>: 网络请求开始事件</li>
<li>
<a href="#plus.net.XMLHttpRequest.onprogress">onprogress</a>: 网络请求传输数据事件</li>
<li>
<a href="#plus.net.XMLHttpRequest.onabort">onabort</a>: 网络请求取消事件</li>
<li>
<a href="#plus.net.XMLHttpRequest.onerror">onerror</a>: 网络请求错误事件</li>
<li>
<a href="#plus.net.XMLHttpRequest.onload">onload</a>: 网络请求成功事件</li>
<li>
<a href="#plus.net.XMLHttpRequest.ontimeout">ontimeout</a>: 网络请求超时事件</li>
<li>
<a href="#plus.net.XMLHttpRequest.onloadend">onloadend</a>: 网络请求结束事件</li>
</ul>
<h1><a name="plus.net.ProgressEvent">ProgressEvent</a></h1>
<p>HTTP请求进度事件</p>
<pre class="prettyprint linenums">
interface ProgressEvent : Event {
    readonly attribute XMLHttpRequest target;
    readonly attribute Boolean lengthComputable;
    readonly attribute Number loaded;
    readonly attribute Number total;
};
				</pre>
<h2>属性：</h2>
<ul>
<li>target: <em>(<a href="#plus.net.XMLHttpRequest">XMLHttpRequest</a>
	类型
)</em>事件的目标对象<br><p>
	通知HTTP请求进度事件的XMLHttpRequest对象。
						</p>
</li>
<li>lengthComputable: <em>(<font class="type">Number</font>
	类型
)</em>进度信息是否可计算<br><p>
	HTTP请求进度信息是否有效，如果HTTP请求头中包含Content-Length头信息则为true，否则为false。
						</p>
</li>
<li>loaded: <em>(<font class="type">XMLHttpRequest</font>
	类型
)</em>当前已经接收到的数据长度<br><p>
	HTTP请求接收到的数据长度，单位为字节。
						</p>
</li>
<li>total: <em>(<font class="type">XMLHttpRequest</font>
	类型
)</em>总数据长度<br><p>
	HTTP请求返回的总数据长度，单位为字节。
	如果无法获取则设置为0。
						</p>
</li>
</ul>
<h1><a name="plus.net.XhrStateChangeCallback">XhrStateChangeCallback</a></h1>
<p>网络请求状态变化的回调函数</p>
<pre class="prettyprint linenums">
void onSuccess() {
	// State changed code.
}
				</pre>
<h2>参数：</h2>
<p>无</p>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<h1><a name="plus.net.XhrProgressEventCallback">XhrProgressEventCallback</a></h1>
<p>网络请求进度事件的回调函数</p>
<pre class="prettyprint linenums">
void onProgressEvent( ProgressEvent event ) {
	// Progress changed code.
}
				</pre>
<h2>参数：</h2>
<ul><li>event: 
		<em>(
			<a href="#plus.net.ProgressEvent">ProgressEvent</a>
			)
			必选 </em>HTTP请求进度事件<br>
</li></ul>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<br><br>
</div></body>
</html>
